|
Die vorliegende Arbeit beschäftigt sich mit Techniken zur
Behandlung von Kommunikationslatenz in hierarchischen
Speichersystemen. Dabei liegt der Schwerpunkt auf ihrer Tolerierung.
Die Kommunikation zwischen Cache und Hauptspeicher sowie die
Kommunikation zwischen lokalem und entferntem Hauptspeicher werden
aufgrund ihrer unterschiedlichen Charakteristika getrennt behandelt.
Für die Kommunikation zwischen Cache und Hauptspeicher wird ein
neuer universaler hardwarebasiert er Prefetchmechanismus
vorgestellt. Als Motivation diente dabei die Einsicht, dass der
Einsatz der vorhandenen Prefetchmechanismen aufgrund der verwendeten
Methoden zur Zugriffsvoraussage auf bestimmte Anwendungsklassen
beschränkt ist. Dem neuen Prefetchmechanismus liegt ein neues
Konzept der Zugriffsbindung zugrunde. Dabei werden die Verbindungen
zwischen den Zugriffen in die Klassen der daten- und
instruktionsbezogenen Verbindungen unterteilt. Dies ermöglicht,
verschiedene Zugriffsmuster in einer einheitlichen Notation zu
beschreiben. Die aus der Literatur bekannte einstufige
Zugriffsvoraussage wird um eine zweite Stufe erweitert, um
instruktionsbezogene Zugriffsbindungen verarbeiten zu können.
Aufbauend auf diesen Resultaten wird ein neuer hardwarebasierter
Prefetchmechanismus entwickelt, dessen Leistungspotential anhand
detaillierter cycle-by-cycle-Simulationen evaluiert wird.
Der Optimierung der Kommunikation zwischen lokalem und
entferntem Hauptspeicher wird durch die gekoppelte Simulation
multidisziplinärer gitterbasierter Anwendungen motiviert. Die
Zielsetzung liegt in der Integration vorhandener Software einzelner
Disziplinen, um Entwicklungs- und Validierungskosten der
Softwareerstellung gering zu halten, sowie in der Integration task-
und datenparalleler Paradigmen, um eine effiziente Ausführung auf
Parallelrechnern zu ermöglichen. Ein neues paralleles
Shared-Memory-Programmiermodell wird vorgestellt. Es stellt
einerseits einem Anwendungsprogrammierer ein hohes
Abstraktionsniveau für die Darstellung der Kopplungsalgorithmen zur
Verfügung und gewährleistet anderseits eine effiziente
Implementierung durch Verwendung von Techniken zur Tolerierung von
Kommunikationslatenz. Weiterhin werden neue Konzepte zur flexiblen
Gestaltung der Kopplungsalgorithmen sowie zur Unterstützung
dynamischer Veranderungen der Gitter beschrieben. Die
Leistungsmerkmale des neuen Programmiermodells werden anhand eines
Beispiels demonstriert. Schließlich wird seine Anwendung anhand der
Kopplung eines Strömungs- mit einem Mechanikmodell illustriert.
|